<?xml version="1.0" encoding="utf-8"?>
<!--
                                                                                     
 h       t     t                ::       /     /                     t             / 
 h       t     t                ::      //    //                     t            // 
 h     ttttt ttttt ppppp sssss         //    //  y   y       sssss ttttt         //  
 hhhh    t     t   p   p s            //    //   y   y       s       t          //   
 h  hh   t     t   ppppp sssss       //    //    yyyyy       sssss   t         //    
 h   h   t     t   p         s  ::   /     /         y  ..       s   t    ..   /     
 h   h   t     t   p     sssss  ::   /     /     yyyyy  ..   sssss   t    ..   /     
                                                                                     
	<https://y.st./>
	Copyright © 2019 Alex Yst <mailto:copyright@y.st>

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <https://www.gnu.org./licenses/>.
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<base href="https://y.st./en/weblog/2019/06-June/13.xhtml"/>
		<title>Smoothies all day and an excuse from the missionaries as to why they can&apos;t seem to show me a sign &lt;https://y.st./en/weblog/2019/06-June/13.xhtml&gt;</title>
		<link rel="icon" type="image/png" href="/link/CC_BY-SA_4.0/y.st./icon.png"/>
		<link rel="stylesheet" type="text/css" href="/link/main.css"/>
		<script type="text/javascript" src="/script/javascript.js"/>
		<meta name="viewport" content="width=device-width"/>
	</head>
	<body>
<nav>
	<p>
		<a href="/en/coursework/">Coursework</a> |
		<a href="/en/take-down/">Take-down requests</a> |
		<a href="/en/">Home</a> |
		<a href="/en/a/about.xhtml">About</a> |
		<a href="/en/a/contact.xhtml">Contact</a> |
		<a href="/a/canary.txt">Canary</a> |
		<a href="/en/URI_research/"><abbr title="Uniform Resource Identifier">URI</abbr> research</a> |
		<a href="/en/opinion/">Opinions</a> |
		<a href="/en/law/">Law</a> |
		<a href="/en/recipe/">Recipes</a> |
		<a href="/en/a/links.xhtml">Links</a> |
		<a href="/en/weblog/2019/06-June/13.xhtml.asc">{this page}.asc</a>
	</p>
	<hr/>
	<p>
		Weblog index:
		<a href="/en/weblog/memories">Memories</a> |
		<a href="/en/weblog/"><abbr title="American Standard Code for Information Interchange">ASCII</abbr> calendars</a> |
		<a href="/en/weblog/index_ol_ascending.xhtml">Ascending list</a> |
		<a href="/en/weblog/index_ol_descending.xhtml">Descending list</a>
	</p>
	<hr/>
	<p>
		Jump to entry:
		<a href="/en/weblog/2015/03-March/07.xhtml">&lt;&lt;First</a>
		<a rel="prev" href="/en/weblog/2019/06-June/12.xhtml">&lt;Previous</a>
		<a rel="next" href="/en/weblog/2019/06-June/14.xhtml">Next&gt;</a>
		<a href="/en/weblog/latest.xhtml">Latest&gt;&gt;</a>
			</p>
			<hr/>
</nav>
		<header>
			<h1>Smoothies all day and an excuse from the missionaries as to why they can&apos;t seem to show me a sign</h1>
			<p>Day 01559: <time>Thursday, 2019 June 13</time></p>
		</header>
<img src="/img/CC_BY-SA_4.0/y.st./weblog/2019/06/13.jpg" alt="Splotchy roses" class="framed-centred-image" width="800" height="480"/>
<section id="diet">
	<h2>Dietary intake</h2>
	<p>
		For breakfast, I had a 426-gram smoothie.
		For lunch, I had a 156-gram smoothie and a 195-gram plate of nachos.
		For dinner, I had the remaining half of my Reuben from yesterday, a few fries, and a 129-gram smoothie.
	</p>
	<p>
		I didn&apos;t really feel that well today, and it might have been because my main food was smoothies.
		I had several bananas that were already spoiling though, and I wanted to finish them off before they became completely unusable.
		I really shouldn&apos;t have bought so many all at once.
		I had the nachos too because I was worried the refried beans in my refrigerator from the last time I had nachos wouldn&apos;t keep too much longer.
	</p>
</section>
<section id="religion">
	<h2>Religious study</h2>
	<p>
		The missionaries showed up today.
		I thought that they might.
		We didn&apos;t have an appointment, but they often show up when we would have had an appointment if they&apos;d been punctual enough to make one.
		This time though, the one with the queer family members didn&apos;t come.
		I think that one has closed up to me, based on the look they always have on their face.
		It looks like on some level they detest me, to be honest.
		I can&apos;t say I blame them.
		I called their doctrine evil, I called them evil, and I called their gods evil.
		The question though is why they and their partner keep coming back at all.
		That wasn&apos;t why they didn&apos;t come today though.
		They just had another partner swap again today, so along with the other familiar missionary, I met a new missionary.
	</p>
	<p>
		I guess the main lesson they had for me today was that without an understanding, there&apos;s no accountability.
		They tell me that when you have a better understanding of things, you&apos;re more accountable for your actions in the eyes of the lord their god.
		Therefore, if you&apos;re not willing to follow the teachings of Jesus already, you&apos;ll receive no sign of his existence.
		That&apos;s his &quot;mercy&quot; on you.
		If you knew he was real, you&apos;d be accountable for following him, so if you&apos;re not going to follow him, he makes himself unknown.
		That seems like utter garbage, to me.
		And with his teachings being evil, there&apos;s no good reason to follow him unless you already believe.
		Even if you <strong>*do*</strong> believe, if you actually think for yourself and you&apos;re not just a selfish monster that&apos;ll do whatever it takes to be saved regardless of the consequences, you shouldn&apos;t follow him.
		He&apos;s evil.
		But anyway, I guess this is their excuse as to why it&apos;s not possible for me to receive a sign.
		It&apos;s not that he&apos;s just a myth.
		No.
		It&apos;s that he&apos;s hiding from me as a &quot;mercy&quot; as long as I see his doctrine as unjust.
	</p>
	<p>
		They mentioned something else of interest.
		Apparently, a soul and a spirit aren&apos;t the same thing, according to the Mormons.
		Instead, a soul is the union of body and spirit.
		Without both, there is no soul.
	</p>
	<p>
		The missionaries kept asking questions, then not allowing me to say much.
		They&apos;d then go on for a while, I&apos;d have several questions come up, and I wouldn&apos;t get to ask any of them because they were still talking.
		And they twisted my words several times, so when I did get a chance to speak, it was used to try to correct their alterations of what I&apos;d said.
		They seemed to be fishing for specific answers from me, and tweaking my responses to be closer.
		Other times, they&apos;d very vague yes-or-no questions, many of which didn&apos;t have a yes/no answer.
		At one point, they asked me if I had hope.
		I asked, but they wouldn&apos;t elaborate.
		I responded that on some levels, I do, and on other levels, I don&apos;t.
		So they asked the same question again, so I used an analogy of marbles.
		If with one hand, you put marbles in, while with the other hand, you put no marbles in, the bag has marbles.
		On some levels, I have hope, so it adds up to there being hope, not zero hope.
		And they asked me again.
		Completely lost as to what to say, they finally elaborated.
		Do I have hope of an afterlife.
		No then.
		They also asked if I believe in the devil.
		I have no proof of gods, so I don&apos;t believe in them, and now maybe I believe in fallen angels?
		Again with no proof?
		And the whole thing with the devil is that he&apos;s the one who rebels against the god of the universe.
		If there are no gods, the very character of the devil makes no sense.
		Why would I believe in him?
		They asked if I think I get in the way of my own progress.
		I replied that at times, yes.
		I&apos;m not the only limiting force in my life, but I&apos;m often one of the main ones.
		A bit later, they claimed that I would never limit my own progress.
		That is all the devil&apos;s doing.
		I know I limit my progress though.
		At times, I&apos;m weak, in either body, mind, or both.
		We all are.
	</p>
	<p>
		Of particular note, they asked me what I fear, and asked if it was a loss of ability to progress.
		Um.
		Kind of?
		But not really.
		I was once evil.
		My main fear is that I might one day be evil again.
		A secondary fear is that I might still be evil and not know it.
		When I was before, I certainly didn&apos;t know.
		I didn&apos;t realise how terrible my thoughts were.
		I don&apos;t believe people should be punished for what they think, but a lot of what you think reflects on who you really are.
		And your thoughts shape your actions.
		While I didn&apos;t instigate evil, I did snowball it, making it worse by going along with it.
		That&apos;s not something I want to ever do again.
	</p>
	<p>
		The familiar missionary kept slipping and calling me a &quot;he&quot;, though they did correct themself ever time.
		I had to point out that they called me a &quot;son&quot; though, which wasn&apos;t right.
		They said that while gender is binary, it&apos;s based on the spirit, not the body, and the spirit might not have the gender that matches the body&apos;s sex.
		Of course, I immediately asked about why they were so opposed to gay marriage then.
		I pointed out that one of the people might have the spirit of a man and the other the spirit of a woman.
		They had no explanation for that, and went off on some irrelevant tangent about how you have to be sealed in the temple to get to the celestial kingdom.
		That doesn&apos;t explain why to males or two females can&apos;t be sealed and get to the celestial kingdom together though.
		They also mentioned that a name came to mind while they were praying, and that they think it might be my middle name.
		They wrote it down, but forgot the name, so they weren&apos;t able to take a stab at that.
		It should be interesting to see what they come up with, if they decide to bring that name at all.
	</p>
</section>
<section id="drudgery">
	<h2>Drudgery</h2>
	<p>
		The school hasn&apos;t released the term schedule that far in advance yet, but for the past few days, I&apos;ve been wanting to know just how much longer I&apos;ve got to deal with them.
		I know when their censorship over me ends, but I actually get out of school sooner than that, at which point I can mostly stop thinking about them for a while.
		That&apos;ll be a load off my mind.
		While I don&apos;t have an exact date, I did some looking at past data and future calendars, and extrapolated to what I believe to be the right date.
		On 2021-03-25, my final learning journal assignment should be due, if there&apos;s one on the final week, and I should be able to finish my final exam on that day if I don&apos;t just stay up late and get it done the night before when the exam period opens.
		If that date isn&apos;t correct, it&apos;s probably off by exactly one week.
		So there&apos;s a high probability of me finishing school at some point in that fifteen-day period.
		That&apos;s my calculated guess, anyway.
	</p>
</section>
<section id="Minetest">
	<h2>Minetest</h2>
	<p>
		I found another bug in <code>minestats</code>.
		This time, it was in relation to the 0.4.3 single mushroom spre drops.
		The door-rejection code was rejecting the spores as well, so I wrote a check to see if the node and the drop have the same draw type before rejecting the drop as countable.
	</p>
	<p>
		I couldn&apos;t spot any more bugs in the handling of Minetest Game by <code>minestats</code>.
		I&apos;m too lazy to go through the Minimal versions and re-try the older Minetest Game versions after all the hackery I had to add though.
		Instead, I decided to write some code to do automatic checks for me.
		I&apos;d actually considered doing that before, but thought checking by hand would be easier.
		It really wasn&apos;t.
		I just didn&apos;t have an idea as to how to code the automation script.
	</p>
	<p>
		The premise of the automated checker is pretty simple.
		I have a list of correct answers as to what should be counted and not in Minetest Games past and present, based on the logic that defines what should and should not be counted.
		However, there&apos;s no way to code that logic, as the scripts can&apos;t check for all the things we humans can.
		For example, if a drop can turn back into the node it dropped from, it shouldn&apos;t be counted.
		Actually, that&apos;s pretty much the <strong>*entire*</strong> determining factor.
		But a callback might convert dropped nodes to the nodes they dropped from, and there&apos;s no way for my scripts to look inside the callback functions to see this reversion.
		However, when we see the code or even just when we play the game, we can see that dirt can turn back into dirt with grass after a time, so when dirt with grass drops dirt without grass, that shoulnd&apos;t be counted.
	</p>
	<p>
		So my code has a copy of the callback from <code>minestats</code> that does the default checking for countables.
		It disables the one in <code>minestats</code>, so it doesn&apos;t interfere.
		This is because if the one in <code>minestats</code> is called first and returns <code>true</code>, the checker&apos;s callback won&apos;t get called because <code>minestats</code> already knows to count it.
		Otherwise, I could just register a new callback to make a list of the possibilities and later compare it against what <code>minestats</code> had decided on in the end.
		My checker then checks each possibility as it comes in against my hand-built list.
		If the copy of the callback returns <code>true</code> and the node/drop combo is on the list, that check passes.
		Likewise, if the callback copy returns false and the node/drop combo isn&apos;t on the list, the check passes.
		Otherwise, it&apos;s considered a failure and the script aborts the server start-up.
	</p>
	<p>
		While I was trying to set this up, I found the <abbr title="application programming interface">API</abbr> call needed to unregister callbacks used to check for countability was missing.
		I&apos;d added one to unregister update functions, but never one to unregister counting functions.
		Oops.
		That was easy enough to add though.
		Once the necessary <abbr title="application programming interface">API</abbr> function was added and the script written, I tested using all versions of Minetest Game and Minimal, along with Build 0.4.6 and Survival 0.4.6.
		No more bugs.
		Sweet.
		The new default counting functions for all official subgames for the Minetest engine, past and present.
	</p>
	<p>
		The next step is to make a list of all available crafting materials for each &quot;mode&quot; of <code>elemental</code>.
		That&apos;s going to be tedious.
		I&apos;m going to need to go through each subgame that uses each mode, and find the intersection of what&apos;s available on all those subgames.
		While I&apos;m at it, I&apos;ll need to track the non-renewable resources from those subgames as well.
		Instead of the intersection of non-renewable resources though, I need the union.
	</p>
</section>
<section id="neighbour">
	<h2>The neighbour</h2>
	<p>
		I finally saw the neighbour today.
		It turns out they were away all week.
		That was bad timing.
		I couldn&apos;t exactly schedule my break between terms to fit their schedule even if I&apos;d known about it though, so it&apos;s not like I could do anything.
		I tried to give them Sunday through Saturday, but now they&apos;ve only got two days left of that.
		I suppose I can do Sunday too, though I&apos;ve got to run to Eugene again on Monday morning, so I can&apos;t give them that.
		I&apos;ve got errands on Tuesday morning, then school begins again on Wednesday.
		I&apos;m out of time.
	</p>
</section>
<section id="battery">
	<h2>Mobile battery</h2>
	<p>
		My mobile battery is scheduled to arrive in the mail tomorrow.
		Will it actually make it on time though?
		I guess I&apos;ll see.
		I&apos;ve been waiting for over a month though, so hopefully the battery will at least arrive <strong>*close*</strong> to on time.
	</p>
</section>
		<hr/>
		<p>
			Copyright © 2019 Alex Yst;
			You may modify and/or redistribute this document under the terms of the <a rel="license" href="/license/gpl-3.0-standalone.xhtml"><abbr title="GNU&apos;s Not Unix">GNU</abbr> <abbr title="General Public License version Three or later">GPLv3+</abbr></a>.
			If for some reason you would prefer to modify and/or distribute this document under other free copyleft terms, please ask me via email.
			My address is in the source comments near the top of this document.
			This license also applies to embedded content such as images.
			For more information on that, see <a href="/en/a/licensing.xhtml">licensing</a>.
		</p>
		<p>
			<abbr title="World Wide Web Consortium">W3C</abbr> standards are important.
			This document conforms to the <a href="https://validator.w3.org./nu/?doc=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2019%2F06-June%2F13.xhtml"><abbr title="Extensible Hypertext Markup Language">XHTML</abbr> 5.2</a> specification and uses style sheets that conform to the <a href="http://jigsaw.w3.org./css-validator/validator?uri=https%3A%2F%2Fy.st.%2Fen%2Fweblog%2F2019%2F06-June%2F13.xhtml"><abbr title="Cascading Style Sheets">CSS</abbr>3</a> specification.
		</p>
	</body>
</html>

